Creating Parameterised Reports Using Quarto

Bristol R User Group

16 July 2025

Saranjeet Kaur Bhogal

Imperial College London

Parameterised reports

What?

Single report template -> multiple outputs

Automate using params

Why?

Accurate, Reproducible, Automated

No repetitive copy-paste

Example use cases

  • Periodic (e.g. weekly, monthly) analytics

  • Regional (e.g. country, state) reports

  • Scientific reports for different species (e.g. plants, flowers)

Flower dataset

Kaggle: Synthetic flower dataset

species,size,fragrance,height_cm
rose, medium, mild, 48.55
shoeblack plant, medium, mild, 147.07
shoeblack plant, medium, none, 102.93
hibiscus, large, none, 184.0

Metadata

species: Type of flower (hibiscus, rose, or shoeblack plant)

size: Size category (small, medium, or large)

fragrance: Intensity of the fragrance (strong, mild, or none)

height_cm: Height of flower in centimeters (rounded to 2 decimal places)

Objective

For each species of the flowers, create a report giving a details about their height distribution, size categories, fragrance categories, and an overall summary.

A .qmd file

Without params
With params

With params
With params

Generate report

Let’s run some code!

Bonus!

Branding with _brand.yml

_brand.yml?

A simple, portable YAML file that codifies brand guidelines (customised) into a format that can be used by Quarto to create branded outputs (for our purpose, reports)

_brand.yml

Branding resources

BRAND.YML webpage

Let’s experiment!

Resources

Blog: Automating Quarto reports with parameters

Video: A step-by-step guide to parameterized reporting in R using Quarto

Video: Company-branded reports, apps, and dashboards made easier with brand.yml & Posit

Brand.yml Website: https://posit-dev.github.io/brand-yml/

Slides

Slides made using quarto and Wildflower template

Thank you!

Talk link: saranjeetkaur.github.io/parameterised-reports/

GitHub: SaranjeetKaur

Email: kaur.saranjeet3@gmail.com